UnityのEditor拡張でBuiltInのアイコン画像とかを使う
概要
UnityのEditorはなんか頑張って作ってあって、開発者が拡張できるパーツで頑張られている。
んで、Editor上で表示される画像とかはどこかに仕舞ってあって、それを読み込んで使っている。
例えばPlatformのアイコンとか、
こういうやつとか。
実態はどこにあるか
Macだと下記パスにあった。
/Applications/Unity/Unity.app/Contents/Resources/unity\ editor\ resources
実態は圧縮されてるファイル。
Editorからファイルを読み込むには
なんのことはない、Resourcesから取得できる。
var iconResources = Resources.FindObjectsOfTypeAll(typeof(Texture2D));
ってやると、空っぽのプロジェクトで1,000個ちょっとのアイコンが手に入る。
でまあ、名前とか指定して読みたいよね、、?
どうやるんでしょうね? 調べ中。
今のところはとりあえず全部読んでから欲しいやつだけのこしている。
ちなみに
var s = AssetDatabase.GetAssetPath(iconResources[0]);
とかやったら、sには Library/unity editor resources という値が入ったので、
Unityは起動時に unity editor resources ファイルを展開、Libraryフォルダってところに置いてるんだと思う。
たぶん Library/unity editor resources/素材名 で呼び出せるんじゃないかな。